package co.edu.javeriana.konigsberg.xavier.entidad;

import java.io.Serializable;
import java.math.BigInteger;

import javax.persistence.*;

import java.util.Date;


/**
 * The persistent class for the archivo database table.
 * 
 */
@Entity
@Table(name="archivo")
@NamedQueries({
@NamedQuery(name="Archivo.findAll", query="SELECT a FROM Archivo a"),
@NamedQuery(name="Archivo.findById", query="SELECT a FROM Archivo a WHERE a.idarchivo = :idArchivo"),
@NamedQuery(name="Archivo.findByTipo", query="SELECT a FROM Archivo a WHERE a.idPrograma = :idPrograma AND a.tipoArchivo = :tipoArchivo ORDER BY a.ultimaVersion DESC")
})
public class Archivo implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private BigInteger idarchivo;

	private String autor;

	@Temporal(TemporalType.TIMESTAMP)
	private Date fecha;

	private String nombreArchivo;

	private boolean ultimaVersion;
	
	private String tipoArchivo;
	
	private BigInteger idPrograma;

	public Archivo() {
	}

	public BigInteger getIdarchivo() {
		return this.idarchivo;
	}

	public void setIdarchivo(BigInteger idarchivo) {
		this.idarchivo = idarchivo;
	}

	public String getAutor() {
		return this.autor;
	}

	public void setAutor(String autor) {
		this.autor = autor;
	}

	public Date getFecha() {
		return this.fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	public String getNombreArchivo() {
		return this.nombreArchivo;
	}

	public void setNombreArchivo(String nombreArchivo) {
		this.nombreArchivo = nombreArchivo;
	}

	public boolean getUltimaVersion() {
		return this.ultimaVersion;
	}

	public void setUltimaVersion(boolean ultimaVersion) {
		this.ultimaVersion = ultimaVersion;
	}

	public String getTipoArchivo() {
		return tipoArchivo;
	}

	public void setTipoArchivo(String tipoArchivo) {
		this.tipoArchivo = tipoArchivo;
	}

	public BigInteger getIdPrograma() {
		return idPrograma;
	}

	public void setIdPrograma(BigInteger idPrograma) {
		this.idPrograma = idPrograma;
	}

}